package net.ericaro.neojavagen.classes ;
import net.ericaro.neojavagen.classes.Interfaces;
import net.ericaro.neojavagen.packages.JavadocComment;
import net.ericaro.neojavagen.interfaces.AnnotationTypeElementDeclaration;
import net.ericaro.neojavagen.classes.ClassDeclaration;
import net.ericaro.neojavagen.classes.EnumBody;
import net.ericaro.neojavagen.types.Identifier;
import net.ericaro.neojavagen.classes.ClassModifiers ;

/**
* *<pre> EnumDeclaration :
    JavadocComment? ClassModifiers? enum Identifier Interfaces? EnumBody
</pre>
*/
public class EnumDeclaration  implements ClassDeclaration,AnnotationTypeElementDeclaration {

JavadocComment javadoccomment;
ClassModifiers classmodifiers;
Identifier identifier;
Interfaces interfaces;
EnumBody enumbody ;

public EnumDeclaration( JavadocComment javadoccomment, ClassModifiers classmodifiers, Identifier identifier, Interfaces interfaces, EnumBody enumbody ){
	this.javadoccomment = javadoccomment; this.classmodifiers = classmodifiers; this.identifier = identifier; this.interfaces = interfaces; this.enumbody = enumbody ;
	}public EnumDeclaration( Identifier identifier, EnumBody enumbody ){
this.identifier = identifier; this.enumbody = enumbody ;
}


public String toString(){
	StringBuilder stringbuilder = new StringBuilder();
	if (this.javadoccomment !=null ) stringbuilder.append( this.javadoccomment ).append(" ");
if (this.classmodifiers !=null ) stringbuilder.append( this.classmodifiers ).append(" ");
stringbuilder.append( "enum" ).append(" ");
stringbuilder.append( this.identifier ).append(" ");
if (this.interfaces !=null ) stringbuilder.append( this.interfaces ).append(" ");
stringbuilder.append( this.enumbody ).append(" ") ;
	return stringbuilder.toString();
}

}
